1. Field of the Invention
The present invention relates to an apparatus for coding property information of a two or three dimensional mesh object used in a synthetic and natural hybrid coding (SNHC) field or a virtual reality markup language (VRML) and a method therefor.
2. Description of the Related Art
In order to display one complete three dimensional object, after dividing the surface of an object into triangles or polygons, information on the positions of the respective vertices and the positions, colors, normal vectors, and texture information of the respective divided surfaces should be described. In the present invention, in a method for reducing the amount of three dimensional information having such a structure, an effective prediction method is provided with respect to coding of color information.
In conventional methods for coding a mesh object, a method for coding color information is the same as methods for coding the information on the positions of the respective vertices, the information on the normal vectors of the respective surfaces, and the information on textures to cover the respective surfaces. Namely, as shown in FIG. 1, respective input items of information are quantized by a quantizer 10 having an appropriate quantization distance. A predictor 14 calculates a prediction value by an appropriate prediction method using a plurality of items of past information stored in a memory 12 and delayed. An encoder 16 encodes the difference between a value quantized by the quantizer 10 and the prediction value calculated by the predictor 14.
FIG. 2 shows a parallelogram predicting method among predicting methods used by the predictor 14. In the parallelogram predicting method, a difference value is obtained using property information P0 of a position to be encoded (for example, the information on the positions of the vertices, the information on the normal vectors, the texture information or the color information) and property information items P1, P2, and P3 of three adjacent places as follows. Namely, the parallelogram shown in FIG. 2 is obtained using the property information items P1, P2, and P3 of the three adjacent places. A prediction value {tilde over (P)}0 of one remaining place of the parallelogram is obtained by the three adjacent places. The coding is performed by supplying a difference P0xe2x88x92{tilde over (P)}0 between the prediction value {tilde over (P)}0 and the property information P0 to be encoded by the encoder. In the respective surfaces constructing the mesh, it is experimentally established that the encoding efficiency is improved when the information on the positions of the vertices is encoded by the predicting method. However, the following problems are generated when prediction coding is performed with respect to the property information by the conventional prediction method.
1. The range of a prediction error signal increases.
When the prediction is performed by a parallelogram predictor, the range of the property information becomes larger than that of an original signal. Namely, when P1=P3=MAX and P2=MIN, the prediction value becomes (2MAXxe2x88x92MIN) which is much larger than the range of an original signal (MAXxe2x88x92MIN). Here, MAX and MIN respectively refer to the maximum value and the minimum value of the original signal. As the range of the prediction value becomes large, the range of an error signal becomes large, thus deteriorating the efficiency of the encoder.
2. Prediction is performed using information items having low correlation.
In a three dimensional mesh, even the closest vertices may be separated from each other by a considerable distance in space. Therefore, in most cases, even adjacent vertices have low correlation with respect to property information. Therefore, prediction results obtained using vertices separated from each other and having low correlation in order to obtain the prediction value of the property information have a large error, which deteriorates the encoding efficiency.
Due to the above problems, it is not possible to effectively reduce the amount of information with respect to property information by the prediction error coding performed by the parallelogram predicting method of FIG. 2. The predicting methods using a plurality of adjacent property information items in which the property information items of the peripheral vertices or surfaces are averaged, also deteriorate the coding efficiency when correlation is low.
It is an objective of the present invention to provide an apparatus for encoding property information of a two or three dimensional mesh object and a method therefor, by which it is possible to effectively compress the property information of the surface of an object when a three dimensional object is expressed by a three dimensional mesh.
Accordingly, to achieve the above objective, the following methods are provided in the present invention. In the prediction method, property information items of a plurality of adjacent positions are not used. The difference between immediately prior information (most adjacent information) and input property information is obtained, considering the immediately prior information as the prediction value. The difference is used as a prediction error signal. Namely, in the present invention, a predictor having an order of 1 is used. The above predictor is used when the correlation between adjacent information items of input property information items is high, and is not used when the correlation is low. Namely, when the output value of the predictor is fixed to 0, the prediction error signal becomes identical to an original signal. Therefore, the operation is the same as in the case where there is no predictor. The correlation of the input property information is used in order to control two operation modes of the predictor. Namely, auto-correlation is obtained from the input property information. The predictor is used when correlation with an adjacent position is large. When the correlation is low, the predictor is fixed to 0. According to experimental results, coding efficiency is high when the predictor is used for the case where the correlation is larger than 0.9, and when no predictor is used, namely, the input property information is encoded as it is, for the case where the correlation is less than 0.9.